Software Architecture Recovery Contents 1 Software Architecture Recovery 1 2 Architectural Design Recovery Using Data Mining Techniques 17 a Reverse Engineering and System Analysis 33 B Aql Language Design 45 Chapter 1 Software Architecture Recovery 1.1 Introduction

نویسندگان

  • Kamran Sartipi
  • Kostas Kontogiannis
  • Farhad Mavaddat
چکیده

Software architectural recovery encompasses various methods for extracting architectural information from some lower level representations of a software system such as source code. Architectural recovery is a two-phase process namely extraction, and analysis 64]. The existing approaches focus on recovering restricted information about the system based on: rela-tional queries 66, 87], interactions between les 33], visualization of the system's structure, and architectural styles 48, 34]. Despite several attempts for automating the architectural recovery process (i.e., clustering), still few approaches and tools exist 89]. It is rather impossible to deene the architecture of a large system at once, hence, the architectural recovery is a gradual process. Software systems usually consist of common patterns in their design which are the basis for the recovery process. Most recovery processes focus on the structural properties of a system, ignoring other important aspects of a software such as high-level behavioral. Therefore, the architectural recovery problem deals with: devising the necessary methodology and tools for incrementally recovering a system's high-level properties from its lower level representations using domain knowledge and pattern matching. 1.2 Structured query-based software architecture recovery We aim at designing the necessary processes, tools, and methods, that enable us to analyze a large software system in order to recover and document the system's structural and behavioral views. We specially focus on devising methods that allow us for multiple-view user query and approximate pattern matching for the recovery of control and data ow dependencies. Figure 1.1 illustrates the adopted approach of a cooperative architectural recovery environment. A brief description of the recovery process is provided in the caption of the gure.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Static Analysis of Software Systems

This research addresses the design and development of an incremental software architecture recovery and evaluation environment using data mining techniques. The environment is interactive and provides: pattern-based architectural recovery using a query language and approximate graph pattern matching; optimization clustering; partitioning; and view-based architectural design evaluation. These te...

متن کامل

Architecture Recovery for Distributed Systems

The ability to recover up-to-date architectural information from existing software artifacts is key to effective software maintenance, reengineering and reuse. Although architecture recovery can be facilitated with the help of current reverse engineering techniques and tools, many issues remain to be properly addressed, particularly regarding recovery of runtime abstractions (e.g., clients, ser...

متن کامل

Alborz: A Query-based Tool for Software Architecture Recovery

Alborz is a user assisted reverse engineering tool designed for analyzing and recovering the architecture of a software system in the form of cohesive modules and subsystems. The tool’s operation is based on techniques from the area of data mining, pattern matching, and clustering (Figure 1).

متن کامل

A Framework for Software Architecture Recovery

The recovery of „higher-level“ representations from given source code of an existing software system is important for the development of program families. Therefore, we evaluated current reverse engineering technology to which extent and how architectural elements can be identified in a software system. The architecture recovery framework we discuss in this paper is ongoing research work within...

متن کامل

Architecture Recovery Based on Design Rule Hierarchy

Software clustering techniques have been extensively studied for the purpose of retrieving a high-level structure of a software system. While prior work has been effective for legacy systems, we observe that a key feature of modern software architectures has not been exploited to improve architecture recovery from code. In this paper, we contribute new architecture recovery techniques based on ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999